package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 领用单DTO
 * @author jinss
 * @date 2020-08-20 11:17:58
 **/
@Data
@ApiModel(value="CollectDTO对象", description="领用单DTO")
public class CollectDTO extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "领用单号")
    private String code;

    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    @ApiModelProperty(value = "货主标识")
    private String shipmentCode;

    @ApiModelProperty(value = "货主名称")
    private String shipmentName;

    @ApiModelProperty(value = "所属机构Code")
    private String groupCode;

    @ApiModelProperty(value = "登录仓库授权该账号的货主集合")
    private List<String> shipmentCodes;

    @ApiModelProperty(value = "授权该账号的仓库集合")
    private List<String> warehouseCodes;

    @ApiModelProperty(value = "类型")
    private String type;

    @ApiModelProperty(value = "领用部门")
    private String collectDept;

    @ApiModelProperty(value = "领用人")
    private String collectBy;

    @ApiModelProperty(value = "领用人名称")
    private String collectName;

    @ApiModelProperty(value = "总数量")
    private BigDecimal totalQuantity;

    @ApiModelProperty(value = "总数量上限")
    private BigDecimal totalQuantityCeiling;

    @ApiModelProperty(value = "总数量下限")
    private BigDecimal totalQuantityFloor;

    @ApiModelProperty(value = "总数量上限")
    private BigDecimal totalUnitQuantityCeiling;

    @ApiModelProperty(value = "总数量下限")
    private BigDecimal totalUnitQuantityFloor;

    @ApiModelProperty(value = "实际领用数量")
    private BigDecimal totalActualQuantity;

    @ApiModelProperty(value = "实际领用数量上限")
    private BigDecimal totalActualQuantityCeiling;

    @ApiModelProperty(value = "实际领用数量下限")
    private BigDecimal totalActualQuantityFloor;

    @ApiModelProperty(value = "实际领用数量上限")
    private BigDecimal totalActualUnitQuantityCeiling;

    @ApiModelProperty(value = "实际领用数量下限")
    private BigDecimal totalActualUnitQuantityFloor;

    @ApiModelProperty(value = "审批人")
    private String approvedBy;

    @ApiModelProperty(value = "审批人名称")
    private String approvedName;

    @ApiModelProperty(value = "审批时间")
    private LocalDateTime gmtApproved;

    @ApiModelProperty(value = "审批时间start")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtApprovedStart;

    @ApiModelProperty(value = "审批时间end")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtApprovedEnd;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "审批意见")
    private String approvalOpinions;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;
}
